Transitioning from autonomous vehicle control to driver control to responding to driver control

ABSTRACT

Instructions are provided to at least one vehicle control for autonomous operation of a vehicle. A change in position is detected of at the least one vehicle control. A determination is made whether to modify operation of the vehicle at least in part according to the change in position of the at least one vehicle control. The autonomous operation of the vehicle is modified according to the change in position.

BACKGROUND

A vehicle such as an automobile may be configured for autonomous drivingoperations. For example, the vehicle may include a central control unitor the like, i.e., the computing device having a processor and a memory,that receives data from various vehicle data collection devices such assensors and generally also external data sources such as navigationinformation. The central control unit may then provide instructions tovarious vehicle components, e.g., actuators and the like that controlsteering, braking, acceleration, etc., to control vehicle operationswithout action by a human operator. However, a human operator may remain“in the driver's seat,” i.e., proximate to vehicle components such as asteering wheel, accelerator, brake pedal, gearshift lever, etc., and mayhave an ability to exercise control over such components.

DRAWINGS

FIG. 1 is a block diagram of an exemplary autonomous vehicle system.

FIG. 2 is a diagram of an exemplary process for responding to operatorinput to one or more vehicle components during autonomous drivingoperations.

FIG. 3 is a diagram of an exemplary process for addressing certainpossible combinations of inputs to vehicle components including asteering wheel, a brake pedal, and an accelerator pedal duringautonomous driving operations.

DETAILED DESCRIPTION System Overview

FIG. 1 is a block diagram of an exemplary autonomous vehicle system 100.A vehicle 101 includes a vehicle computer 105 that is configured toreceive information, e.g., collected data 115, from one or more datacollectors 110 related to various components of the vehicle 101. Forexample, collected data 115 may include data concerning position, changein position, rate of change of position, etc. of vehicle 101 componentssuch as a steering wheel, brake pedal, accelerator pedal, gearshiftlever, etc. The computer 105 generally includes an autonomous drivingmodule 106 that comprises instructions for autonomously, i.e., withoutoperator input, operating the vehicle 101, including possibly inresponse to instructions received from a server 125. Further, thecomputer 105, e.g., in the module 106, generally includes instructionsfor analyzing input of an operator (sometimes referred to as a “driver”)to one or more vehicle components, such as a steering wheel, a brakepedal, and accelerator pedal, a gearshift lever, etc. For example, thecomputer 105 may determine whether the operator input was intentional orinadvertent, and/or whether autonomous vehicle 101 control should bemodified or ignored in favor of the operator input.

The computer 105 may further be configured for communicating with one ormore remote sites such as a server 125 via a network 120, such remotesite possibly including a data store 130. Parameters for determiningwhether operator input to components of the vehicle 101 was intentionalor inadvertent are generally stored in the computer 105. However, themodule 106 may retrieve specific parameters from the data store 130,e.g., according to an identifier for a specific vehicle 101 operator,according to weather or other environmental conditions, according to anidentifier for a particular vehicle 101, etc.

Exemplary System Elements

A vehicle 101 includes a vehicle computer 105 that generally includes aprocessor and a memory, the memory including one or more forms ofcomputer-readable media, and storing instructions executable by theprocessor for performing various operations, including as disclosedherein. Further, the computer 105 may include more than one computingdevice, e.g., controllers or the like included in the vehicle 101 formonitoring and/or controlling various vehicle components, e.g., anengine control unit (ECU), transmission control unit (TCU), etc. Thecomputer 105 is generally configured for communications on a controllerarea network (CAN) bus or the like. The computer 105 may also have aconnection to an onboard diagnostics connector (OBD-II). Via the CANbus, OBD-II, and/or other wired or wireless mechanisms, the computer 105may transmit messages to various devices in a vehicle and/or receivemessages from the various devices, e.g., controllers, actuators,sensors, etc., including data collectors 110. Alternatively oradditionally, in cases where the computer 105 actually comprisesmultiple devices, the CAN bus or the like may be used for communicationsbetween devices represented as the computer 105 in this disclosure. Inaddition, the computer 105 may be configured for communicating with thenetwork 120, which, as described below, may include various wired and/orwireless networking technologies, e.g., cellular, Bluetooth, wiredand/or wireless packet networks, etc.

Generally included in instructions stored in and executed by thecomputer 105 is an autonomous driving module 106. Using data received inthe computer 105, e.g., from data collectors 110, the server 125, etc.,the module 106 may control various vehicle 101 components and/oroperations without a driver to operate the vehicle 101. For example, themodule 106 may be used to regulate vehicle 101 speed, acceleration,deceleration, steering, operation of components such as lights,windshield wipers, etc.

Data collectors 110 may include a variety of devices. For example,various controllers in a vehicle may operate as data collectors 110 toprovide data 115 via the CAN bus, e.g., data 115 relating to vehiclespeed, acceleration, etc. Further, sensors or the like, globalpositioning system (GPS) equipment, etc., could be included in a vehicleand configured as data collectors 110 to provide data directly to thecomputer 105, e.g., via a wired or wireless connection. Sensor datacollectors 110 could include mechanisms such as RADAR, LADAR, sonar,etc. sensors that could be deployed to measure a distance between thevehicle 101 and other vehicles or objects. Yet other sensor datacollectors 110 could include cameras, breathalyzers, motion detectors,etc., i.e., data collectors 110 to provide data for evaluating acondition or state of a vehicle 101 operator. In addition, datacollectors 110 may include sensors to detect a position, change inposition, rate of change in position, etc., of vehicle 101 componentssuch as a steering wheel, brake pedal, accelerator, gearshift lever,etc.

A memory of the computer 105 generally stores collected data 115.Collected data 115 may include a variety of data collected in a vehicle101. Examples of collected data 115 are provided above, and moreover,data 115 is generally collected using one or more data collectors 110,and may additionally include data calculated therefrom in the computer105, and/or at the server 125. In general, collected data 115 mayinclude any data that may be gathered by a collection device 110 and/orcomputed from such data. For example, collected data 115, as mentionedabove, may include data concerning a position, change in position, rateof change in position, etc., of vehicle 101 components such as asteering wheel, brake pedal, accelerator, gearshift lever, etc.

The network 120 represents one or more mechanisms by which a vehiclecomputer 105 may communicate with a remote server 125. Accordingly, thenetwork 120 may be one or more of various wired or wirelesscommunication mechanisms, including any desired combination of wired(e.g., cable and fiber) and/or wireless (e.g., cellular, wireless,satellite, microwave, and radio frequency) communication mechanisms andany desired network topology (or topologies when multiple communicationmechanisms are utilized). Exemplary communication networks includewireless communication networks (e.g., using Bluetooth, IEEE 802.11,etc.), local area networks (LAN) and/or wide area networks (WAN),including the Internet, providing data communication services.

The server 125 may be one or more computer servers, each generallyincluding at least one processor and at least one memory, the memorystoring instructions executable by the processor, including instructionsfor carrying out various steps and processes described herein. Theserver 125 may include or be communicatively coupled to a data store 130for storing collected data 115, as well as parameters for evaluatingoperator input, e.g., parameters for a specific vehicle 101 operator, aspecific vehicle 101, particular weather or other environmentalconditions, etc. further, the server 125 may store information relatedto multiple vehicles 101, traffic conditions, weather conditions, etc.,within a geographic area, with respect to a particular road, city, etc.The server 125 could also be configured to provide drive-by-wireinstructions to vehicles 101 in an autonomous driving area, e.g., aroad, etc., such as an “all stop” instruction for all vehicles 101 tostop, a speed restriction, a lane restriction, etc.

A user device 150 may be any one of a variety of computing devicesincluding a processor and a memory, as well as communicationcapabilities. For example, the user device 150 may be a portablecomputer, tablet computer, a smart phone, etc. that includescapabilities for wireless communications using IEEE 802.11, Bluetooth,and/or cellular communications protocols. Further, the user device 155may use such communication capabilities to communicate via the network120 and also directly with a vehicle computer 105, e.g., usingBluetooth.

Exemplary Process Flows

FIG. 2 is a diagram of an exemplary process for responding to operatorinput to one or more vehicle components during autonomous drivingoperations.

The process 200 begins in a block 205, in which a vehicle 101 commencesautonomous driving operations, i.e., begins driving in a mannerpartially or completely controlled by the autonomous driving module 106.For example, all vehicle 101 operations, e.g., steering, braking, speed,etc., could be controlled by the module 106 in the computer 105.However, it is also possible that, in the block 205, the vehicle 101 maybe operated in a partially autonomous (i.e., partially manual, fashion,where some operations, e.g., braking, could be manually controlled by adriver, while other operations, e.g., steering, could be controlled bythe module 106.

Next, in a block 210, the computer 105, e.g., according to instructionsin the module 106, determines whether driver input to a vehicle 101component has been detected. For example, FIG. 3 illustrates anexemplary process 300 in which the computer 105 monitors a steeringwheel, a brake pedal, and an accelerator pedal of a vehicle 101 foroperator input. In any case, a data collector 110 may provide data tothe computer 105 indicating that a vehicle 101 component has changedposition due to operator input, i.e., not according to instructionsprovided by the module 106 for autonomous vehicle 101 operation. Asmentioned above, the data collector 110 may provide other data to thecomputer 105 concerning operator input to a vehicle 101 component, suchas an amount by which a component position has changed, a rate of changeof component position, etc. If it is determined that driver input hasbeen provided to a vehicle 101 component, then a block 215 is executednext. Otherwise, the process 200 returns to the block 205.

In the block 215, the computer 105 determines whether the operator inputdetected in the block 210 was deliberate. The process 300 discussedbelow with respect to FIG. 3 provides an example of determining whetherone or more inputs were deliberate with respect to a steering wheel, abrake pedal, and an accelerator pedal of a vehicle 101. In general, forthe component or components of the vehicle 101 for which input wasdetected, the computer 105 compares collected data 115 for suchcomponent or components to parameters included in the module 106.Alternatively or additionally, as mentioned above, such parameters maybe stored in the data store 130, in which case the parameters may bedownloaded to the computer 105 when autonomous driving operationscommence in the block 205, when needed in the block 215, or at someother time.

In any event, as shown in the examples discussed with respect to FIG. 3,the computer 105 generally determines whether the detected operatorinput was deliberate according to whether collected data 115 related tothe detected operator input triggers one or more thresholds provided inthe parameters. For example, the computer 105 could determine, ifoperator movement of a steering wheel is detected, an amount by whichthe steering wheel was moved and/or a rate of change of position of thesteering wheel according to collected data 115, and then could comparesuch metrics to provided parameters. If the steering wheel changedposition less than an amount specified by a parameter and/or had beenmoved at a rate less than an amount specified by a parameter, then thecomputer 105 could determine that the operator input to the steeringwheel was not deliberate.

As already mentioned, further examples are provided below with respectto FIG. 3, including examples in which operator input is detected withrespect to more than one vehicle 101 component. With respect to cases inwhich operator input is detected with respect to multiple vehicle 101components, the computer 105 generally further determines whether therespective inputs to the components were consistent. For example,rapidly turning a steering wheel and rapidly accelerating, or depressinga brake pedal and accelerator pedal simultaneously, could be determinedto be inconsistent inputs, and therefore not deliberate. Further, asdiscussed below concerning FIG. 3, it is possible that inconsistentinputs could be received where one or more inputs are deemed deliberatewhere one or more inputs are deemed not to have been deliberate.

If operator input to one or more vehicle 101 components is determined tobe deliberate in the block 215, then a block 235 is executed next.Otherwise, a block 220 is executed next.

In the block 220, the computer 105 ignores the driver input detected inthe block 210, because such input has been determined not to bedeliberate. Further, the computer 105 generally provides a message to avehicle 101 operator via a human machine interface (HMI) in the vehicle101, e.g., a graphical user interface (GUI) on a touchscreen or the likein the dash of the vehicle 101, an interactive voice response (IVR)system in the vehicle 101, etc. This message may ask the operator forinput considering whether the operator wishes vehicle 101 operations tobe conducted according to the input (or inputs) detected in the block210.

The block 220 is followed by a block 225, in which the computer 105determines whether an operator, e.g., driver, instruction has beenreceived to conduct vehicle 101 operations according to the inputdetected in the block 210. If a negative indication is received, or if,after a predetermined period of time, no indication is received, thenthe process 200 proceeds to a block 255. However, if input is receivedindicating that the vehicle 101 operator does want the vehicle 101 to becontrolled according to input received in the block 210, e.g., if aresponse is received to the HMI message, e.g., within a predeterminedperiod of time such as five seconds, that the driver's inputs wereintentional, then a block 230 is executed next.

In the block 230, vehicle 101 operation or control is modified accordingto the driver input received in the block 210. For example, a steering,braking, acceleration, etc. instruction or instructions may beimplemented to control the vehicle 101. Further in the block 230, thecomputer 105 may display an HMI message requesting driver inputconcerning whether autonomous driving operations should be continued.The process 200 then proceeds to the block 255.

In a block 235, which follows the block 215 when at least one operatorinput in the block 210 was determined to be deliberate, the computer 105determines whether inconsistent inputs were received. If only one inputwas received, or inputs were not inconsistent, i.e., consistent, thenthe process 200 proceeds to the block 230. However, as noted below withrespect to examples provided in FIG. 3, the computer 105 could determinethat, where multiple operator inputs were received in the block 210, oneor more inputs were deliberate, and one or more inputs were notdeliberate. However, if inconsistent inputs were received, then a block240 is executed next.

In the block 240, the computer 105 instructs the module 106 to modifyvehicle 101 operation or control according to one or more rulesgoverning interpretation of inconsistent operator inputs. Althoughinconsistent inputs were received, it is nonetheless possible that oneor more of the two or more inconsistent inputs should be followed. Thatis, the computer 105 and the module 106 may modify control of one ormore vehicle 101 components according to a predetermined rule related tothe components for which the inconsistent inputs were received.

For example, a rule could pertain to inputs received to a brake pedaland accelerator, a steering wheel and accelerator, etc. Examples of suchrules are provided below with respect to FIG. 3, but in general thecomputer 105 evaluates the inconsistent inputs to determine which ismost appropriate for vehicle control. For example, if a rate of changeof brake pedal position exceeds a threshold parameter, but a rate ofchange of an accelerator pedal position falls below a second thresholdparameter, then the module 106 may determine to allow vehicle 101control according to the operator input received at the brake pedal.

Further, depending on the inconsistent inputs received, e.g., if a brakepedal and an accelerator pedal were depressed simultaneously, the module106 could cause the vehicle 101 to take certain action based on thespecific components with respect to which input was received. Forexample, in the case of a brake pedal and accelerator pedal beingdepressed simultaneously, the module 106 could cause the vehicle 101 toslow to below a predetermined rate of speed. Further for example, wherethere is a slight turn to a steering wheel, and a heavy application of abrake pedal, the computer 105 could determine to ignore the change inposition of the steering wheel, but to implement braking according tothe input to, and the change in position of, the brake pedal.

Also in the block 240, with respect to any operator input received inthe block 210 that the computer 105 has determined to ignore, an HMImessage may be displayed asking for a vehicle 101 operator responseconcerning whether the input should in fact be ignored. For example, anHMI message in the block 230 could obtain information, such as aspecification of an input to be followed and input to be ignored, e.g.,“execute brake operations and ignore input to the accelerator.” The HMImessage may also request operator input concerning whether autonomousvehicle 101 operations should continue.

Following the block 240, in a block 245, the computer 105 determineswhether an operator, e.g., driver, instruction has been received toconduct vehicle 101 operations according to the input detected in theblock 210 but ignored in the block 240. If a negative indication isreceived, or if, after a predetermined period of time, no indication isreceived, then the process 200 proceeds to the block 255. However, ifinput is received indicating that the vehicle 101 operator does want thevehicle 101 to be controlled according to the ignored input or inputs,then a block 250 is executed next.

In the block 250, vehicle 101 operation or control is modified accordingto the driver input or inputs that were ignored in the block 240. Forexample, a steering, braking, acceleration, etc. instruction orinstructions may be implemented to control the vehicle 101. Further inthe block 250, the computer 105 may display an HMI message requestingdriver input concerning whether autonomous driving operations should becontinued. The process 200 then proceeds to a block 255.

In the block 255, the computer 105 determines whether to continueautonomous driving operations. For example, a driver instruction tocease autonomous driving operations could be indicated in response to anHMI message displayed as described above. Further, an operator inputreceived in the block 210 could be a basis for determining to ceaseautonomous driving operations. For example, the computer 105 could beprogrammed to determine that a severe braking operation, or hard turn,etc., should be a basis for ceasing autonomous driving operations. Inany event, if it is determined to end autonomous driving operations, theprocess 255 ends. Otherwise, the process 200 returns to the block 205.

FIG. 3 is a diagram of an exemplary process for addressing certainpossible combinations of inputs to vehicle components including asteering wheel, a brake pedal, and an accelerator pedal duringautonomous driving operations.

The following is a list of abbreviations used in FIG. 3, for conveniencereproduced as a legend 301 on FIG. 3:

-   -   STRP—steering wheel measured position;    -   STRA—desired position of steering wheel;    -   BKRP—brake pedal measured position;    -   BKRA—desired position of brake pedal;    -   ACCP—accelerator pedal measured position;    -   ACCA—desired position of accelerator pedal;    -   A1, A2—accelerator displacement thresholds;    -   B1, B2—brake pedal displacement thresholds;    -   S1, S2—steering wheel displacement thresholds;    -   STRPR, STRAR, BKRPR, BKRAR, ACCPR, ACCAR—rate of change for the        respective measured or desired position;    -   AR—accelerator position rate of change threshold;    -   BR—brake pedal position rate of change threshold;    -   SR—steering wheel position rate of change threshold.

The above metrics may be measured in a variety of ways. For example,steering wheel position and displacements may be measured by an angulardisplacement sensor from a predefined point on the steering wheel, and arate of change of a steering wheel position may be a calculated rate ofchange in angular displacement. Metrics related to an accelerator pedaland a brake pedal may be similarly measured by a linear displacementsensor, and respective rates of change can also be calculated.

A “measured position” is a position of a component as detected by a datacollector 110 and communicated to the computer 105, e.g., the positionof the component after an operator has provided input such as turning asteering wheel, depressing a brake pedal, or depressing the acceleratorpedal. A “desired position” is a position of a component to be desiredaccording to autonomous driving instructions provided by the module 106,e.g., an appropriate position of a steering wheel, brake pedal, oraccelerator pedal based on instruction of the module 106. For example, adesired position of a steering wheel would be the position of thesteering wheel appropriate for steering being executed by the module106, whereas the measured position of the steering wheel could be thesame as the desired position of the steering wheel, but could bedifferent if the steering wheel had been moved according to operatorinput, i.e., the operator turning the steering wheel at a different rateand/or to a different position than directed by the module 106.

The process 300 begins in a block 305, in which the module 106,responding to operator input to at least one of a steering wheel, brakepedal, or accelerator pedal, e.g., as described above with respect tothe block 210, determines whether the difference between each of adesired and measured steering wheel position, a desired and measuredbrake pedal position, and/or a desired and measured accelerator pedalposition exceed respective predetermined thresholds. For example,thresholds may be determined by testing and may provide a general casefor expected positions of components, but can be adjusted for differentdriving modes, e.g., low speed, high speed, hazardous road conditions,driver preferences, driver experience levels, etc.

If each of the three respective predetermined thresholds A1, B1, and S1are exceeded, then the process 300 proceeds to a block 310. If none ofthe thresholds are exceeded, then the process 300 will end. However, ifone or two of the three thresholds are exceeded, then the module 106 mayend the process 300 but invoke an alternate process that, as will beunderstood, operates in a manner similar to the process 300 to considerscenarios specific to the particular threshold or thresholds exceeded.

For example, if a threshold S1 has been exceeded with respect to asteering wheel position, an alternate process may be executed thatconsiders only the difference between the desired and measured steeringwheel position and or the difference between a desired and a measuredrate of change of the steering wheel position. To continue this example,the module 106 could ignore the driver input to the steering wheel asdescribed below with respect to a block 360, or could determine to steerthe vehicle 101 in a manner consistent with operator input, in a mannersimilar to that described below with respect to a block 340.

Further, in an example where thresholds are exceeded for two components,e.g., a steering wheel and an accelerator, an alternate process could beexecuted that considers differences of desired and measured positionsand rates of change of positions of the steering wheel and accelerator.Based on such consideration, the module 106 could ignore the driverinputs to each of the steering wheel and accelerator as described belowwith respect to the block 360, could ignore input to the accelerator butgive the driver control of steering as described below with respect tothe block 340, or could ignore input to the steering wheel, and couldgive the driver control of the accelerator as described below withrespect to a block 365.

Continuing with the process 300, in a block 310, which may follow theblock 305, the module 106 determines whether the steering wheeldisplacement exceeds a second predetermined threshold S2, or whether adifference between measured and desired rates of change of steeringwheel position exceed a steering wheel position rate of change thresholdSR. If either of these considerations evaluates to yes, then a block 315is executed next. Otherwise, the process 300 proceeds to a block 345.

The second threshold S2 is generally greater than the firstpredetermined threshold S1 referenced above with respect to the block305. The threshold S1 may be used to make a first determination a firstmovement of a steering wheel exceeded a first predetermined distance;however, if the steering wheel movement reflects a change in positionthat is below a second limit that is larger than the predetermineddistance, then this movement may have been inadvertent and an HMImessage may be preferable to determine driver intent. However, if thedistance a steering wheel moved exceeded the second threshold S2, thenthe steering wheel movement may be clearly regarded as an intentionaldriver action.

In the block 315, the module 106 evaluates whether brake pedaldisplacement exceeds a second predetermined threshold B2, or whether adifference between measured and desired rates of change of brake pedalposition exceed a brake pedal position rate of change threshold BR. Ifeither of these considerations evaluates to yes, then a block 320 isexecuted next. Otherwise, the process 300 proceeds to a block 330.

In the block 320, the computer 105 evaluates whether an acceleratorpedal displacement exceeds a second predetermined threshold A2, orwhether a difference between measured and desired rates of change ofaccelerator pedal position exceed an accelerator pedal position rate ofchange threshold AR. If either of these considerations evaluates to yes,then a block 325 is executed next. Otherwise, the process 300 proceedsto a block 370.

In the block 325, the module 106 adjusts control of the vehicle 101and/or displays an HMI message as discussed above, e.g., with respect tothe block 220. In the case of the block 325, the module 106 gives thevehicle 101 operator primary control of each of steering, braking, andacceleration based on predetermine rules. For examine, one or more rulescould specify to give the driver control of only the steering andbraking functions and to ignore acceleration, because depressing boththe brake and accelerator at the same time is unlikely to be the intentof the driver. In either case, actions are based on such predeterminedrules stored in the computer 105. For this example instructions in thecomputer 105 could be based on the assumption that the autonomousvehicle 101 operations cease with respect to each of steering, braking,and acceleration functions when an accelerator and brake pedal aredepressed at the same time, and the vehicle 101 is then operatedaccording to driver input. Following the block 325, the process 300ends.

The block 330 may follow the block 315, and includes the sameevaluations discussed with respect to the block 320. If either of theseevaluations in the block 330 is affirmative, then a block 335 isexecuted next. Otherwise, a block 340 is executed next.

In the block 335, the module 106 adjusts control of the vehicle 101and/or displays an HMI message as discussed above, e.g., with respect tothe block 220. In the case of the block of 335, the module 106 gives thevehicle 101 operator primary control of each of steering andacceleration. Following the block 335, the process 300 ends.

In the block 340, the module 106 adjusts control of the vehicle 101and/or displays an HMI message as discussed above, e.g., with respect tothe block 220. In the case of the block of 335, the module 106 gives thevehicle 101 operator primary control of steering. Following the block340, the process 300 ends.

In the block 345, as in the block 315, the module 106 evaluates whetherbrake pedal displacement exceeds a second predetermined threshold B2, orwhether a difference between measured and desired rates of change ofbrake pedal position exceed a brake pedal position rate of changethreshold BR. If either of these considerations evaluates to yes, then ablock 355 is executed next. Otherwise, a block 350 is executed next.

Each of the blocks 350, 355, includes the same evaluations discussedwith respect to the block 320. If either of these evaluations in theblock 350 is in the affirmative, then a block 365 is executed next;otherwise, a block 360 follows the block 350. If either of theseevaluations is affirmative in the block 355, then a block 375 isexecuted next; otherwise, a block 370 follows the block 355.

In the block 360, which may follow the block 350, the module 106determines to ignore all driver inputs, and the process 300 ends.

In the block 365, which may follow the block 350, the module 106 adjustscontrol of the vehicle 101 and/or displays an HMI message as discussedabove, e.g., with respect to the block 220. In the case of the block365, the module 106 gives the vehicle 101 operator primary control ofacceleration. Following the block 365, the process 300 ends.

In the block 370, which may follow the block 355, the module 106 adjustscontrol of the vehicle 101 and/or displays an HMI message as discussedabove, e.g., with respect to the block 220. In the case of the block of370, the module 106 gives the vehicle 101 operator primary control ofbraking. Following the block 370, the process 300 ends.

In the block 375, which may follow the block 355, the module 106 adjustscontrol of the vehicle 101 and/or displays an HMI message as discussedabove, e.g., with respect to the block 220. In the case of the block of375, the module 106 gives the vehicle 101 operator primary control ofbraking and ignores acceleration, according to a set of predeterminedrules, since pressing is not the likely intent. Following the block 375,the process 300 ends.

CONCLUSION

Computing devices such as those discussed herein generally each includeinstructions executable by one or more computing devices such as thoseidentified above, and for carrying out blocks or steps of processesdescribed above. For example, process blocks discussed above may beembodied as computer-executable instructions.

Computer-executable instructions may be compiled or interpreted fromcomputer programs created using a variety of programming languagesand/or technologies, including, without limitation, and either alone orin combination, Java™, C, C++, Visual Basic, Java Script, Perl, HTML,etc. In general, a processor (e.g., a microprocessor) receivesinstructions, e.g., from a memory, a computer-readable medium, etc., andexecutes these instructions, thereby performing one or more processes,including one or more of the processes described herein. Suchinstructions and other data may be stored and transmitted using avariety of computer-readable media. A file in a computing device isgenerally a collection of data stored on a computer readable medium,such as a storage medium, a random access memory, etc.

A computer-readable medium includes any medium that participates inproviding data (e.g., instructions), which may be read by a computer.Such a medium may take many forms, including, but not limited to,non-volatile media, volatile media, etc. Non-volatile media include, forexample, optical or magnetic disks and other persistent memory. Volatilemedia include dynamic random access memory (DRAM), which typicallyconstitutes a main memory. Common forms of computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, or any other medium from which a computer canread.

In the drawings, the same reference numbers indicate the same elements.Further, some or all of these elements could be changed. With regard tothe media, processes, systems, methods, etc. described herein, it shouldbe understood that, although the steps of such processes, etc. have beendescribed as occurring according to a certain ordered sequence, suchprocesses could be practiced with the described steps performed in anorder other than the order described herein. It further should beunderstood that certain steps could be performed simultaneously, thatother steps could be added, or that certain steps described herein couldbe omitted. In other words, the descriptions of processes herein areprovided for the purpose of illustrating certain embodiments, and shouldin no way be construed so as to limit the claimed invention.

Accordingly, it is to be understood that the above description isintended to be illustrative and not restrictive. Many embodiments andapplications other than the examples provided would be apparent to thoseof skill in the art upon reading the above description. The scope of theinvention should be determined, not with reference to the abovedescription, but should instead be determined with reference to theappended claims, along with the full scope of equivalents to which suchclaims are entitled. It is anticipated and intended that futuredevelopments will occur in the arts discussed herein, and that thedisclosed systems and methods will be incorporated into such futureembodiments. In sum, it should be understood that the invention iscapable of modification and variation and is limited only by thefollowing claims.

All terms used in the claims are intended to be given their broadestreasonable constructions and their ordinary meanings as understood bythose skilled in the art unless an explicit indication to the contraryin made herein. In particular, use of the singular articles such as “a,”“the,” “said,” etc. should be read to recite one or more of theindicated elements unless a claim recites an explicit limitation to thecontrary.

1. A system, comprising a computer in a vehicle, the computer comprisinga processor and a memory, wherein the computer is configured to: provideinstructions to at least one vehicle control for autonomous operation ofthe vehicle; detect a change in position of at the least one vehiclecontrol; determine whether to modify operation of the vehicle at leastin part according to the change in position of the at least one vehiclecontrol; and modify the autonomous operation of the vehicle according tothe change in position.
 2. The system of claim 1, wherein the at leastone vehicle control is at least one of a steering control, anaccelerator, and a brake.
 3. The system of claim 1, wherein modifyingthe operation of the vehicle includes ceasing autonomous operation ofthe vehicle.
 4. The system of claim 1, wherein the computer is furtherconfigured to display a message to a user requesting input concerningwhether an operation of the vehicle should be carried out according tothe change in position of the at least one control.
 5. The system ofclaim 1, wherein: the computer is further configured to determine a rateof the change of position of at the least one vehicle control, anddetermining whether to modify operation of the vehicle according to thechange in position includes determining whether to modify operation ofthe vehicle at least in part according to the rate of change in positionof the at least one vehicle control.
 6. The system of claim 5, whereinthe computer is further configured to determine whether to modifyoperation of the vehicle according to at least one of whether the changeof position exceeds a first predetermined threshold and the rate ofchange of the position exceeds a second predetermined threshold.
 7. Asystem, comprising a computer in a vehicle, the computer comprising aprocessor and a memory, wherein the computer is configured to: provideinstructions to a plurality of vehicle controls for autonomous operationof the vehicle; detect respective changes in at least two of thecontrols; determine to modify operation of the vehicle according to achange in position of at least one of the at least two controls; andmodify the autonomous operation of the vehicle according to the changein position of at least one of the at least two controls.
 8. The systemof claim 7, wherein each of the controls is one of a steering control,an accelerator, or a brake.
 9. The system of claim 7, wherein thecomputer is further configured to: determine to modify operation of thevehicle according to a change in position of at least two controls; andmodify the autonomous operation of the vehicle according to the changein position of the at least two controls.
 10. The system of claim 7,wherein the computer is further configured to: determine not to modifyoperation of the vehicle according to a change in position of one of theat least two controls; and maintain the autonomous operation withoutregard to the change in position the one of the at least two controls.11. A method, comprising: providing instructions to at least one vehiclecontrol for autonomous operation of a vehicle; detecting a change inposition of at the least one vehicle control; determining whether tomodify operation of the vehicle at least in part according to the changein position of the at least one vehicle control; and modifying theautonomous operation of the vehicle according to the change in position.12. The method of claim 11, wherein the at least one vehicle control isat least one of a steering control, an accelerator, and a brake.
 13. Themethod of claim 11, wherein modifying the operation of the vehicleincludes ceasing autonomous operation of the vehicle.
 14. The method ofclaim 11, further comprising displaying a message to a user requestinginput concerning whether an operation of the vehicle should be carriedout according to the change in position of the at least one control. 15.The method of claim 11, further comprising: determining a rate of thechange of position of at the least one vehicle control, and determiningwhether to modify operation of the vehicle according to the change inposition at least in part according to the rate of change in position ofthe at least one vehicle control.
 16. The method of claim 15, furthercomprising determining whether to modify operation of the vehicleaccording to at least one of whether the change of position exceeds afirst predetermined threshold and the rate of change of the positionexceeds a second predetermined threshold.
 17. A method, comprising:providing instructions to a plurality of vehicle controls for autonomousoperation of the vehicle; detecting respective changes in at least twoof the controls; determining to modify operation of the vehicleaccording to a change in position of at least one of the at least twocontrols; and modifying the autonomous operation of the vehicleaccording to the change in position of at least one of the at least twocontrols.
 18. The method of claim 17, wherein each of the controls isone of a steering control, an accelerator, or a brake.
 19. The method ofclaim 17, further comprising: determining to modify operation of thevehicle according to a change in position of at least two controls; andmodifying the autonomous operation of the vehicle according to thechange in position of the at least two controls.
 20. The method of claim17, further comprising: determining not to modify operation of thevehicle according to a change in position of one of the at least twocontrols; and maintaining the autonomous operation without regard to thechange in position the one of the at least two controls.